/******************************************************************
 * @copyright   ©2023 广州牛师帮科技文化有限公司. All rights reserverd.
 * @file        src\network\ApiError.ts
 * @date        2023/12/05 15:36
 * @author      朱剑豪
 * @description 牛师帮的标准接口错误
 * @todo        添加至脚手架代码模板文件
 * 
 * 当标准接口返回了业务执行失败的code与msg，此时应视为ApiError，并抛出
 ******************************************************************/

import type { ApiReply } from "./ApiReply";

export class ApiError<R extends ApiReply> extends Error {
  readonly code: string
  readonly reply: R
  constructor(code: string, msg: string, reply: R) {
    super(`[${code}]${msg}`)
    this.code = code;
    this.reply = reply
  }
}